From Macrogeneration to Syntactic Abstraction
نویسنده
چکیده
In his 1967 lecture notes, Christopher Strachey states that macrogenerators are useful as the only alternative to rewriting the compiler when language extensions are needed. He also states, however, that they deal inappropriately with programs as strings of symbols, ignoring their semantic content, and that they lead to inconvenient syntax and often less transparent code. He concludes that a goal of language designers should be to eliminate the need for macrogeneration. This article attempts to reconcile the contemporary view of syntactic abstraction, which deals with programs at a higher level, with Strachey’s views on macrogeneration. Syntactic abstraction has evolved to address the deficiencies of macrogeneration and has, to a large extent, eliminated them. Syntactic abstractions are conveniently expressed, conveniently used, and usually lead to more rather than less transparent code. While a worthwhile goal for language designers is to reduce the need for macrogeneration through the inclusion of an appropriate set of built-in syntactic forms, this article concludes that syntactic abstraction is a valuable tool for programmers to define language extensions that are not anticipated by the language designer or are domain-specific and therefore not of sufficiently general use to be included in the language core.
منابع مشابه
Bilingual Hebrew-English Generation of Possessives and Partitives: Raising the Input Abstraction Level
Syntactic realization grammars have traditionally attempted to accept inputs with the highest possible level of abstraction, in order to facilitate the work of the components (sentence planner) preparing the input. Recently, the search for higher abstraction has been, however, challenged (E1hadad and Robin, 1996)(Lavoie and Rambow, 1997)(Busemann and Horacek, 1998). In this paper, we contribute...
متن کاملMacrogeneration and Automata Libraries For COSMA design environment
In ICS, WUT a COSMA design environment is being developed. COSMA is based on Concurrent State Machines (CSM) formalism of system specification. It contains a graphical tool for system design, various tools for the analysis (including a temporal model checker), simulator and code generator. In many projects, some common susbsystems take place. This concerns both complicated modules and simple co...
متن کاملSyntactic Abstraction of B Models to Generate Tests
In a model-based testing approach as well as for the verification of properties, B models provide an interesting solution. However, for industrial applications, the size of their state space often makes them hard to handle. To reduce the amount of states, an abstraction function can be used, often combining state variable elimination and domain abstractions of the remaining variables. This pape...
متن کاملCoalescing: Syntactic Abstraction for Reasoning in First-Order Modal Logics
We present a syntactic abstraction method to reason about first-order modal logics by using theorem provers for standard first-order logic and for propositional modal logic.
متن کاملAbstraction, desalination and recharge method to control seawater intrusion into unconfined coastal aquifers
In this study, abstraction, desalination and recharge method and SEAWAT numerical model are used to investigate seawater intrusion repulsion in a hypothetical two-dimensional coastal aquifer to understand the relation of seawater intrusion with abstraction, desalination and recharge parameters (i.e. abstraction/recharge rate, wells distance and depth). Abstraction, desalination and recharge con...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Higher-Order and Symbolic Computation
دوره 13 شماره
صفحات -
تاریخ انتشار 2000